All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <157909508046.20155.15948272289530644703.stgit@warthog.procyon.org.uk>

diff --git a/a/1.txt b/N1/1.txt
index f15b764..8bf3473 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -77,9 +77,9 @@ index 000000000000..d8f70282d247
 --- /dev/null
 +++ b/Documentation/watch_queue.rst
 @@ -0,0 +1,354 @@
-+==============================
++===============
 +General notification mechanism
-+==============================
++===============
 +
 +The general notification mechanism is built on top of the standard pipe driver
 +whereby it effectively splices notification messages from the kernel into pipes
@@ -101,7 +101,7 @@ index 000000000000..d8f70282d247
 +
 +
 +Overview
-+========
++====
 +
 +This facility appears as a pipe that is opened in a special mode.  The pipe's
 +internal ring buffer is used to hold messages that are generated by the kernel.
@@ -130,8 +130,7 @@ index 000000000000..d8f70282d247
 +
 +
 +Message Structure
-+=================
-+
++========+
 +Notification messages begin with a short header::
 +
 +	struct watch_notification {
@@ -173,7 +172,7 @@ index 000000000000..d8f70282d247
 +
 +
 +Watch List (Notification Source) API
-+====================================
++==================
 +
 +A "watch list" is a list of watchers that are subscribed to a source of
 +notifications.  A list may be attached to an object (say a key or a superblock)
@@ -199,8 +198,7 @@ index 000000000000..d8f70282d247
 +
 +
 +Watch Queue (Notification Output) API
-+=====================================
-+
++==================+
 +A "watch queue" is the buffer allocated by an application that notification
 +records will be written into.  The workings of this are hidden entirely inside
 +of the watch_queue device driver, but it is necessary to gain a reference to it
@@ -219,7 +217,7 @@ index 000000000000..d8f70282d247
 +
 +
 +Watch Subscription API
-+======================
++===========
 +
 +A "watch" is a subscription on a watch list, indicating the watch queue, and
 +thus the buffer, into which notification records should be written.  The watch
@@ -279,7 +277,7 @@ index 000000000000..d8f70282d247
 +
 +
 +Notification Posting API
-+========================
++============
 +
 +To post a notification to watch list so that the subscribed watches can see it,
 +the following function should be used::
@@ -303,8 +301,7 @@ index 000000000000..d8f70282d247
 +
 +
 +Watch Sources
-+=============
-+
++======+
 +Any particular buffer can be fed from multiple sources.  Sources include:
 +
 +  * WATCH_TYPE_KEY_NOTIFY
@@ -321,8 +318,7 @@ index 000000000000..d8f70282d247
 +
 +
 +Event Filtering
-+===============
-+
++=======+
 +Once a watch queue has been created, a set of filters can be applied to limit
 +the events that are received using::
 +
@@ -357,7 +353,7 @@ index 000000000000..d8f70282d247
 +  * ``info_filter`` and ``info_mask`` act as a filter on the info field of the
 +    notification record.  The notification is only written into the buffer if::
 +
-+	(watch.info & info_mask) == info_filter
++	(watch.info & info_mask) = info_filter
 +
 +    This could be used, for example, to ignore events that are not exactly on
 +    the watched point in a mount tree.
@@ -371,7 +367,7 @@ index 000000000000..d8f70282d247
 +
 +
 +Userspace Code Example
-+======================
++===========
 +
 +A buffer is created with something like the following::
 +
@@ -410,7 +406,7 @@ index 000000000000..d8f70282d247
 +
 +				len = (n->info & WATCH_INFO_LENGTH) >>
 +					WATCH_INFO_LENGTH__SHIFT;
-+				if (len == 0 || len > largest)
++				if (len = 0 || len > largest)
 +					return;
 +
 +				switch (n.n.type) {
@@ -752,7 +748,7 @@ index 57502c3c0fba..5352c07be47f 100644
 -struct pipe_inode_info *get_pipe_info(struct file *file)
 +struct pipe_inode_info *get_pipe_info(struct file *file, bool for_splice)
  {
--	return file->f_op == &pipefifo_fops ? file->private_data : NULL;
+-	return file->f_op = &pipefifo_fops ? file->private_data : NULL;
 +	struct pipe_inode_info *pipe = file->private_data;
 +
 +	if (file->f_op != &pipefifo_fops || !pipe)
@@ -1141,7 +1137,7 @@ index 000000000000..e2e3344a2586
 +	 * off doesn't work.  OTOH, the note must've been more than zero size.
 +	 */
 +	bit = buf->offset + buf->len;
-+	if ((bit & (WATCH_QUEUE_NOTE_SIZE - 1)) == 0)
++	if ((bit & (WATCH_QUEUE_NOTE_SIZE - 1)) = 0)
 +		bit -= WATCH_QUEUE_NOTE_SIZE;
 +	bit /= WATCH_QUEUE_NOTE_SIZE;
 +
@@ -1247,9 +1243,9 @@ index 000000000000..e2e3344a2586
 +
 +	for (i = 0; i < wf->nr_filters; i++) {
 +		wt = &wf->filters[i];
-+		if (n->type == wt->type &&
++		if (n->type = wt->type &&
 +		    (wt->subtype_filter[st_index] & st_bit) &&
-+		    (n->info & wt->info_mask) == wt->info_filter)
++		    (n->info & wt->info_mask) = wt->info_filter)
 +			return true;
 +	}
 +
@@ -1278,7 +1274,7 @@ index 000000000000..e2e3344a2586
 +	struct watch_queue *wqueue;
 +	struct watch *watch;
 +
-+	if (((n->info & WATCH_INFO_LENGTH) >> WATCH_INFO_LENGTH__SHIFT) == 0) {
++	if (((n->info & WATCH_INFO_LENGTH) >> WATCH_INFO_LENGTH__SHIFT) = 0) {
 +		WARN_ON(1);
 +		return;
 +	}
@@ -1402,7 +1398,7 @@ index 000000000000..e2e3344a2586
 +	/* Grab the user's filter specification */
 +	if (copy_from_user(&filter, _filter, sizeof(filter)) != 0)
 +		return -EFAULT;
-+	if (filter.nr_filters == 0 ||
++	if (filter.nr_filters = 0 ||
 +	    filter.nr_filters > 16 ||
 +	    filter.__reserved != 0)
 +		return -EINVAL;
@@ -1461,8 +1457,7 @@ index 000000000000..e2e3344a2586
 +
 +static void __put_watch_queue(struct kref *kref)
 +{
-+	struct watch_queue *wqueue =
-+		container_of(kref, struct watch_queue, usage);
++	struct watch_queue *wqueue +		container_of(kref, struct watch_queue, usage);
 +	struct watch_filter *wfilter;
 +	int i;
 +
@@ -1542,7 +1537,7 @@ index 000000000000..e2e3344a2586
 +
 +	hlist_for_each_entry(w, &wlist->watchers, list_node) {
 +		struct watch_queue *wq = rcu_access_pointer(w->queue);
-+		if (wqueue == wq && watch->id == w->id)
++		if (wqueue = wq && watch->id = w->id)
 +			return -EBUSY;
 +	}
 +
@@ -1584,7 +1579,7 @@ index 000000000000..e2e3344a2586
 +	spin_lock(&wlist->lock);
 +	hlist_for_each_entry(watch, &wlist->watchers, list_node) {
 +		if (all ||
-+		    (watch->id == id && rcu_access_pointer(watch->queue) == wq))
++		    (watch->id = id && rcu_access_pointer(watch->queue) = wq))
 +			goto found;
 +	}
 +	spin_unlock(&wlist->lock);
diff --git a/a/content_digest b/N1/content_digest
index cbe4181..9db853c 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,6 +1,9 @@
 [
   "ref\000157909503552.20155.3030058841911628518.stgit\@warthog.procyon.org.uk\0"
 ]
+[
+  "ref\000157909503552.20155.3030058841911628518.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW\@public.gmane.org\0"
+]
 [
   "From\0David Howells <dhowells\@redhat.com>\0"
 ]
@@ -11,25 +14,22 @@
   "Date\0Wed, 15 Jan 2020 13:31:20 +0000\0"
 ]
 [
-  "To\0torvalds\@linux-foundation.org\0"
+  "To\0torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b\@public.gmane.org\0"
 ]
 [
-  "Cc\0dhowells\@redhat.com",
-  " Greg Kroah-Hartman <gregkh\@linuxfoundation.org>",
-  " Casey Schaufler <casey\@schaufler-ca.com>",
-  " Stephen Smalley <sds\@tycho.nsa.gov>",
-  " nicolas.dichtel\@6wind.com",
-  " raven\@themaw.net",
-  " Christian Brauner <christian\@brauner.io>",
-  " dhowells\@redhat.com",
-  " keyrings\@vger.kernel.org",
-  " linux-usb\@vger.kernel.org",
-  " linux-block\@vger.kernel.org",
-  " linux-security-module\@vger.kernel.org",
-  " linux-fsdevel\@vger.kernel.org",
-  " linux-api\@vger.kernel.org",
-  " linux-security-module\@vger.kernel.org",
-  " linux-kernel\@vger.kernel.org\0"
+  "Cc\0dhowells-H+wXaHxf7aLQT0dZR+AlfA\@public.gmane.org",
+  " Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r\@public.gmane.org>",
+  " Casey Schaufler <casey-iSGtlc1asvQWG2LlvL+J4A\@public.gmane.org>",
+  " Stephen Smalley <sds-+05T5uksL2qpZYMLLGbcSA\@public.gmane.org>",
+  " nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w\@public.gmane.org",
+  " raven-PKsaG3nR2I+sTnJN9+BGXg\@public.gmane.org",
+  " Christian Brauner <christian-STijNZzMWpgWenYVfaLwtA\@public.gmane.org>dhowells-H+wXaHxf7aLQT0dZR+AlfA\@public.gmane.org",
+  " keyrings-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+  " linux-usb-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+  " linux-block-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+  " linux-security-module-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+  " linux-fsdevel-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+  " linux-kernel-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org\0"
 ]
 [
   "\0000:1\0"
@@ -117,9 +117,9 @@
   "--- /dev/null\n",
   "+++ b/Documentation/watch_queue.rst\n",
   "\@\@ -0,0 +1,354 \@\@\n",
-  "+==============================\n",
+  "+===============\n",
   "+General notification mechanism\n",
-  "+==============================\n",
+  "+===============\n",
   "+\n",
   "+The general notification mechanism is built on top of the standard pipe driver\n",
   "+whereby it effectively splices notification messages from the kernel into pipes\n",
@@ -141,7 +141,7 @@
   "+\n",
   "+\n",
   "+Overview\n",
-  "+========\n",
+  "+====\n",
   "+\n",
   "+This facility appears as a pipe that is opened in a special mode.  The pipe's\n",
   "+internal ring buffer is used to hold messages that are generated by the kernel.\n",
@@ -170,8 +170,7 @@
   "+\n",
   "+\n",
   "+Message Structure\n",
-  "+=================\n",
-  "+\n",
+  "+========+\n",
   "+Notification messages begin with a short header::\n",
   "+\n",
   "+\tstruct watch_notification {\n",
@@ -213,7 +212,7 @@
   "+\n",
   "+\n",
   "+Watch List (Notification Source) API\n",
-  "+====================================\n",
+  "+==================\n",
   "+\n",
   "+A \"watch list\" is a list of watchers that are subscribed to a source of\n",
   "+notifications.  A list may be attached to an object (say a key or a superblock)\n",
@@ -239,8 +238,7 @@
   "+\n",
   "+\n",
   "+Watch Queue (Notification Output) API\n",
-  "+=====================================\n",
-  "+\n",
+  "+==================+\n",
   "+A \"watch queue\" is the buffer allocated by an application that notification\n",
   "+records will be written into.  The workings of this are hidden entirely inside\n",
   "+of the watch_queue device driver, but it is necessary to gain a reference to it\n",
@@ -259,7 +257,7 @@
   "+\n",
   "+\n",
   "+Watch Subscription API\n",
-  "+======================\n",
+  "+===========\n",
   "+\n",
   "+A \"watch\" is a subscription on a watch list, indicating the watch queue, and\n",
   "+thus the buffer, into which notification records should be written.  The watch\n",
@@ -319,7 +317,7 @@
   "+\n",
   "+\n",
   "+Notification Posting API\n",
-  "+========================\n",
+  "+============\n",
   "+\n",
   "+To post a notification to watch list so that the subscribed watches can see it,\n",
   "+the following function should be used::\n",
@@ -343,8 +341,7 @@
   "+\n",
   "+\n",
   "+Watch Sources\n",
-  "+=============\n",
-  "+\n",
+  "+======+\n",
   "+Any particular buffer can be fed from multiple sources.  Sources include:\n",
   "+\n",
   "+  * WATCH_TYPE_KEY_NOTIFY\n",
@@ -361,8 +358,7 @@
   "+\n",
   "+\n",
   "+Event Filtering\n",
-  "+===============\n",
-  "+\n",
+  "+=======+\n",
   "+Once a watch queue has been created, a set of filters can be applied to limit\n",
   "+the events that are received using::\n",
   "+\n",
@@ -397,7 +393,7 @@
   "+  * ``info_filter`` and ``info_mask`` act as a filter on the info field of the\n",
   "+    notification record.  The notification is only written into the buffer if::\n",
   "+\n",
-  "+\t(watch.info & info_mask) == info_filter\n",
+  "+\t(watch.info & info_mask) = info_filter\n",
   "+\n",
   "+    This could be used, for example, to ignore events that are not exactly on\n",
   "+    the watched point in a mount tree.\n",
@@ -411,7 +407,7 @@
   "+\n",
   "+\n",
   "+Userspace Code Example\n",
-  "+======================\n",
+  "+===========\n",
   "+\n",
   "+A buffer is created with something like the following::\n",
   "+\n",
@@ -450,7 +446,7 @@
   "+\n",
   "+\t\t\t\tlen = (n->info & WATCH_INFO_LENGTH) >>\n",
   "+\t\t\t\t\tWATCH_INFO_LENGTH__SHIFT;\n",
-  "+\t\t\t\tif (len == 0 || len > largest)\n",
+  "+\t\t\t\tif (len = 0 || len > largest)\n",
   "+\t\t\t\t\treturn;\n",
   "+\n",
   "+\t\t\t\tswitch (n.n.type) {\n",
@@ -792,7 +788,7 @@
   "-struct pipe_inode_info *get_pipe_info(struct file *file)\n",
   "+struct pipe_inode_info *get_pipe_info(struct file *file, bool for_splice)\n",
   " {\n",
-  "-\treturn file->f_op == &pipefifo_fops ? file->private_data : NULL;\n",
+  "-\treturn file->f_op = &pipefifo_fops ? file->private_data : NULL;\n",
   "+\tstruct pipe_inode_info *pipe = file->private_data;\n",
   "+\n",
   "+\tif (file->f_op != &pipefifo_fops || !pipe)\n",
@@ -1181,7 +1177,7 @@
   "+\t * off doesn't work.  OTOH, the note must've been more than zero size.\n",
   "+\t */\n",
   "+\tbit = buf->offset + buf->len;\n",
-  "+\tif ((bit & (WATCH_QUEUE_NOTE_SIZE - 1)) == 0)\n",
+  "+\tif ((bit & (WATCH_QUEUE_NOTE_SIZE - 1)) = 0)\n",
   "+\t\tbit -= WATCH_QUEUE_NOTE_SIZE;\n",
   "+\tbit /= WATCH_QUEUE_NOTE_SIZE;\n",
   "+\n",
@@ -1287,9 +1283,9 @@
   "+\n",
   "+\tfor (i = 0; i < wf->nr_filters; i++) {\n",
   "+\t\twt = &wf->filters[i];\n",
-  "+\t\tif (n->type == wt->type &&\n",
+  "+\t\tif (n->type = wt->type &&\n",
   "+\t\t    (wt->subtype_filter[st_index] & st_bit) &&\n",
-  "+\t\t    (n->info & wt->info_mask) == wt->info_filter)\n",
+  "+\t\t    (n->info & wt->info_mask) = wt->info_filter)\n",
   "+\t\t\treturn true;\n",
   "+\t}\n",
   "+\n",
@@ -1318,7 +1314,7 @@
   "+\tstruct watch_queue *wqueue;\n",
   "+\tstruct watch *watch;\n",
   "+\n",
-  "+\tif (((n->info & WATCH_INFO_LENGTH) >> WATCH_INFO_LENGTH__SHIFT) == 0) {\n",
+  "+\tif (((n->info & WATCH_INFO_LENGTH) >> WATCH_INFO_LENGTH__SHIFT) = 0) {\n",
   "+\t\tWARN_ON(1);\n",
   "+\t\treturn;\n",
   "+\t}\n",
@@ -1442,7 +1438,7 @@
   "+\t/* Grab the user's filter specification */\n",
   "+\tif (copy_from_user(&filter, _filter, sizeof(filter)) != 0)\n",
   "+\t\treturn -EFAULT;\n",
-  "+\tif (filter.nr_filters == 0 ||\n",
+  "+\tif (filter.nr_filters = 0 ||\n",
   "+\t    filter.nr_filters > 16 ||\n",
   "+\t    filter.__reserved != 0)\n",
   "+\t\treturn -EINVAL;\n",
@@ -1501,8 +1497,7 @@
   "+\n",
   "+static void __put_watch_queue(struct kref *kref)\n",
   "+{\n",
-  "+\tstruct watch_queue *wqueue =\n",
-  "+\t\tcontainer_of(kref, struct watch_queue, usage);\n",
+  "+\tstruct watch_queue *wqueue +\t\tcontainer_of(kref, struct watch_queue, usage);\n",
   "+\tstruct watch_filter *wfilter;\n",
   "+\tint i;\n",
   "+\n",
@@ -1582,7 +1577,7 @@
   "+\n",
   "+\thlist_for_each_entry(w, &wlist->watchers, list_node) {\n",
   "+\t\tstruct watch_queue *wq = rcu_access_pointer(w->queue);\n",
-  "+\t\tif (wqueue == wq && watch->id == w->id)\n",
+  "+\t\tif (wqueue = wq && watch->id = w->id)\n",
   "+\t\t\treturn -EBUSY;\n",
   "+\t}\n",
   "+\n",
@@ -1624,7 +1619,7 @@
   "+\tspin_lock(&wlist->lock);\n",
   "+\thlist_for_each_entry(watch, &wlist->watchers, list_node) {\n",
   "+\t\tif (all ||\n",
-  "+\t\t    (watch->id == id && rcu_access_pointer(watch->queue) == wq))\n",
+  "+\t\t    (watch->id = id && rcu_access_pointer(watch->queue) = wq))\n",
   "+\t\t\tgoto found;\n",
   "+\t}\n",
   "+\tspin_unlock(&wlist->lock);\n",
@@ -1792,4 +1787,4 @@
   "+}"
 ]
 
-474c7cbc191df7a2d76cdc680a2ec8ec220b34f668835d8f473f32e6cd84a933
+b58ac9f7fdd0bcaaef90814841fc50f646cad60ee1f978ac7f23489315d93533

diff --git a/a/1.txt b/N2/1.txt
index f15b764..ef1d962 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -41,7 +41,7 @@ attached in additional slots.  The maximum message size is 127 bytes.
 Messages may not be padded or aligned, so there is no guarantee, for
 example, that the notification type will be on a 4-byte bounary.
 
-Signed-off-by: David Howells <dhowells@redhat.com>
+Signed-off-by: David Howells <dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
 ---
 
  Documentation/userspace-api/ioctl/ioctl-number.rst |    1 
@@ -888,7 +888,7 @@ index 000000000000..5e08db2adc31
 +/* User-mappable watch queue
 + *
 + * Copyright (C) 2020 Red Hat, Inc. All Rights Reserved.
-+ * Written by David Howells (dhowells@redhat.com)
++ * Written by David Howells (dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org)
 + *
 + * See Documentation/watch_queue.rst
 + */
@@ -1097,7 +1097,7 @@ index 000000000000..e2e3344a2586
 +/* Watch queue and general notification mechanism, built on pipes
 + *
 + * Copyright (C) 2020 Red Hat, Inc. All Rights Reserved.
-+ * Written by David Howells (dhowells@redhat.com)
++ * Written by David Howells (dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org)
 + *
 + * See Documentation/watch_queue.rst
 + */
diff --git a/a/content_digest b/N2/content_digest
index cbe4181..ff9a401 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -2,7 +2,10 @@
   "ref\000157909503552.20155.3030058841911628518.stgit\@warthog.procyon.org.uk\0"
 ]
 [
-  "From\0David Howells <dhowells\@redhat.com>\0"
+  "ref\000157909503552.20155.3030058841911628518.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW\@public.gmane.org\0"
+]
+[
+  "From\0David Howells <dhowells-H+wXaHxf7aLQT0dZR+AlfA\@public.gmane.org>\0"
 ]
 [
   "Subject\0[RFC PATCH 05/14] pipe: Add general notification queue support [ver #3]\0"
@@ -11,25 +14,23 @@
   "Date\0Wed, 15 Jan 2020 13:31:20 +0000\0"
 ]
 [
-  "To\0torvalds\@linux-foundation.org\0"
+  "To\0torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b\@public.gmane.org\0"
 ]
 [
-  "Cc\0dhowells\@redhat.com",
-  " Greg Kroah-Hartman <gregkh\@linuxfoundation.org>",
-  " Casey Schaufler <casey\@schaufler-ca.com>",
-  " Stephen Smalley <sds\@tycho.nsa.gov>",
-  " nicolas.dichtel\@6wind.com",
-  " raven\@themaw.net",
-  " Christian Brauner <christian\@brauner.io>",
-  " dhowells\@redhat.com",
-  " keyrings\@vger.kernel.org",
-  " linux-usb\@vger.kernel.org",
-  " linux-block\@vger.kernel.org",
-  " linux-security-module\@vger.kernel.org",
-  " linux-fsdevel\@vger.kernel.org",
-  " linux-api\@vger.kernel.org",
-  " linux-security-module\@vger.kernel.org",
-  " linux-kernel\@vger.kernel.org\0"
+  "Cc\0dhowells-H+wXaHxf7aLQT0dZR+AlfA\@public.gmane.org",
+  " Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r\@public.gmane.org>",
+  " Casey Schaufler <casey-iSGtlc1asvQWG2LlvL+J4A\@public.gmane.org>",
+  " Stephen Smalley <sds-+05T5uksL2qpZYMLLGbcSA\@public.gmane.org>",
+  " nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w\@public.gmane.org",
+  " raven-PKsaG3nR2I+sTnJN9+BGXg\@public.gmane.org",
+  " Christian Brauner <christian-STijNZzMWpgWenYVfaLwtA\@public.gmane.org>dhowells-H+wXaHxf7aLQT0dZR+AlfA\@public.gmane.org",
+  " keyrings-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+  " linux-usb-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+  " linux-block-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+  " linux-security-module-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+  " linux-fsdevel-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org",
+  " linux-api-u79uwXL29TY76Z2rM5mHXA\@public.gmane.orglinux-security-module-u79uwxl29ty76z2rm5mhxa\@public.gmane.org",
+  " linux-kernel-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org\0"
 ]
 [
   "\0000:1\0"
@@ -81,7 +82,7 @@
   "Messages may not be padded or aligned, so there is no guarantee, for\n",
   "example, that the notification type will be on a 4-byte bounary.\n",
   "\n",
-  "Signed-off-by: David Howells <dhowells\@redhat.com>\n",
+  "Signed-off-by: David Howells <dhowells-H+wXaHxf7aLQT0dZR+AlfA\@public.gmane.org>\n",
   "---\n",
   "\n",
   " Documentation/userspace-api/ioctl/ioctl-number.rst |    1 \n",
@@ -928,7 +929,7 @@
   "+/* User-mappable watch queue\n",
   "+ *\n",
   "+ * Copyright (C) 2020 Red Hat, Inc. All Rights Reserved.\n",
-  "+ * Written by David Howells (dhowells\@redhat.com)\n",
+  "+ * Written by David Howells (dhowells-H+wXaHxf7aLQT0dZR+AlfA\@public.gmane.org)\n",
   "+ *\n",
   "+ * See Documentation/watch_queue.rst\n",
   "+ */\n",
@@ -1137,7 +1138,7 @@
   "+/* Watch queue and general notification mechanism, built on pipes\n",
   "+ *\n",
   "+ * Copyright (C) 2020 Red Hat, Inc. All Rights Reserved.\n",
-  "+ * Written by David Howells (dhowells\@redhat.com)\n",
+  "+ * Written by David Howells (dhowells-H+wXaHxf7aLQT0dZR+AlfA\@public.gmane.org)\n",
   "+ *\n",
   "+ * See Documentation/watch_queue.rst\n",
   "+ */\n",
@@ -1792,4 +1793,4 @@
   "+}"
 ]
 
-474c7cbc191df7a2d76cdc680a2ec8ec220b34f668835d8f473f32e6cd84a933
+06e2327b702cb3f3127d1e752648acc5081539223d3210ca6627c8911bb1b1b1

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.