From: Kamal Mostafa <kamal@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
kernel-team@lists.ubuntu.com
Cc: cgroups@vger.kernel.org, Tejun Heo <tj@kernel.org>,
Serge Hallyn <serge.hallyn@canonical.com>,
Li Zefan <lizefan@huawei.com>,
Aristeu Rozanski <arozansk@redhat.com>,
Kamal Mostafa <kamal@canonical.com>
Subject: [PATCH 3.13 075/212] device_cgroup: rework device access check and exception checking
Date: Tue, 17 Jun 2014 14:42:49 -0700 [thread overview]
Message-ID: <1403041506-13646-76-git-send-email-kamal@canonical.com> (raw)
In-Reply-To: <1403041506-13646-1-git-send-email-kamal@canonical.com>
3.13.11.4 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Aristeu Rozanski <aris@redhat.com>
commit 79d719749d23234e9b725098aa49133f3ef7299d upstream.
Whenever a device file is opened and checked against current device
cgroup rules, it uses the same function (may_access()) as when a new
exception rule is added by writing devices.{allow,deny}. And in both
cases, the algorithm is the same, doesn't matter the behavior.
First problem is having device access to be considered the same as rule
checking. Consider the following structure:
A (default behavior: allow, exceptions disallow access)
\
B (default behavior: allow, exceptions disallow access)
A new exception is added to B by writing devices.deny:
c 12:34 rw
When checking if that exception is allowed in may_access():
if (dev_cgroup->behavior == DEVCG_DEFAULT_ALLOW) {
if (behavior == DEVCG_DEFAULT_ALLOW) {
/* the exception will deny access to certain devices */
return true;
Which is ok, since B is not getting more privileges than A, it doesn't
matter and the rule is accepted
Now, consider it's a device file open check and the process belongs to
cgroup B. The access will be generated as:
behavior: allow
exception: c 12:34 rw
The very same chunk of code will allow it, even if there's an explicit
exception telling to do otherwise.
A simple test case:
# mkdir new_group
# cd new_group
# echo $$ >tasks
# echo "c 1:3 w" >devices.deny
# echo >/dev/null
# echo $?
0
This is a serious bug and was introduced on
c39a2a3018f8 devcg: prepare may_access() for hierarchy support
To solve this problem, the device file open function was split from the
new exception check.
Second problem is how exceptions are processed by may_access(). The
first part of the said function tries to match fully with an existing
exception:
list_for_each_entry_rcu(ex, &dev_cgroup->exceptions, list) {
if ((refex->type & DEV_BLOCK) && !(ex->type & DEV_BLOCK))
continue;
if ((refex->type & DEV_CHAR) && !(ex->type & DEV_CHAR))
continue;
if (ex->major != ~0 && ex->major != refex->major)
continue;
if (ex->minor != ~0 && ex->minor != refex->minor)
continue;
if (refex->access & (~ex->access))
continue;
match = true;
break;
}
That means the new exception should be contained into an existing one to
be considered a match:
New exception Existing match? notes
b 12:34 rwm b 12:34 rwm yes
b 12:34 r b *:34 rw yes
b 12:34 rw b 12:34 w no extra "r"
b *:34 rw b 12:34 rw no too broad "*"
b *:34 rw b *:34 rwm yes
Which is fine in some cases. Consider:
A (default behavior: deny, exceptions allow access)
\
B (default behavior: deny, exceptions allow access)
In this case the full match makes sense, the new exception cannot add
more access than the parent allows
But this doesn't always work, consider:
A (default behavior: allow, exceptions disallow access)
\
B (default behavior: deny, exceptions allow access)
In this case, a new exception in B shouldn't match any of the exceptions
in A, after all you can't allow something that was forbidden by A. But
consider this scenario:
New exception Existing in A match? outcome
b 12:34 rw b 12:34 r no exception is accepted
Because the new exception has "w" as extra, it doesn't match, so it'll
be added to B's exception list.
The same problem can happen during a file access check. Consider a
cgroup with allow as default behavior:
Access Exception match?
b 12:34 rw b 12:34 r no
In this case, the access didn't match any of the exceptions in the
cgroup, which is required since exceptions will disallow access.
To solve this problem, two new functions were created to match an
exception either fully or partially. In the example above, a partial
check will be performed and it'll produce a match since at least
"b 12:34 r" from "b 12:34 rw" access matches.
Cc: cgroups@vger.kernel.org
Cc: Tejun Heo <tj@kernel.org>
Cc: Serge Hallyn <serge.hallyn@canonical.com>
Cc: Li Zefan <lizefan@huawei.com>
Signed-off-by: Aristeu Rozanski <arozansk@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
security/device_cgroup.c | 162 +++++++++++++++++++++++++++++++++++------------
1 file changed, 122 insertions(+), 40 deletions(-)
diff --git a/security/device_cgroup.c b/security/device_cgroup.c
index 7c2a0a7..8e62b67 100644
--- a/security/device_cgroup.c
+++ b/security/device_cgroup.c
@@ -309,57 +309,139 @@ static int devcgroup_seq_read(struct cgroup_subsys_state *css,
}
/**
- * may_access - verifies if a new exception is part of what is allowed
- * by a dev cgroup based on the default policy +
- * exceptions. This is used to make sure a child cgroup
- * won't have more privileges than its parent or to
- * verify if a certain access is allowed.
- * @dev_cgroup: dev cgroup to be tested against
- * @refex: new exception
- * @behavior: behavior of the exception
+ * match_exception - iterates the exception list trying to match a rule
+ * based on type, major, minor and access type. It is
+ * considered a match if an exception is found that
+ * will contain the entire range of provided parameters.
+ * @exceptions: list of exceptions
+ * @type: device type (DEV_BLOCK or DEV_CHAR)
+ * @major: device file major number, ~0 to match all
+ * @minor: device file minor number, ~0 to match all
+ * @access: permission mask (ACC_READ, ACC_WRITE, ACC_MKNOD)
+ *
+ * returns: true in case it matches an exception completely
*/
-static bool may_access(struct dev_cgroup *dev_cgroup,
- struct dev_exception_item *refex,
- enum devcg_behavior behavior)
+static bool match_exception(struct list_head *exceptions, short type,
+ u32 major, u32 minor, short access)
{
struct dev_exception_item *ex;
- bool match = false;
- rcu_lockdep_assert(rcu_read_lock_held() ||
- lockdep_is_held(&devcgroup_mutex),
- "device_cgroup::may_access() called without proper synchronization");
+ list_for_each_entry_rcu(ex, exceptions, list) {
+ if ((type & DEV_BLOCK) && !(ex->type & DEV_BLOCK))
+ continue;
+ if ((type & DEV_CHAR) && !(ex->type & DEV_CHAR))
+ continue;
+ if (ex->major != ~0 && ex->major != major)
+ continue;
+ if (ex->minor != ~0 && ex->minor != minor)
+ continue;
+ /* provided access cannot have more than the exception rule */
+ if (access & (~ex->access))
+ continue;
+ return true;
+ }
+ return false;
+}
+
+/**
+ * match_exception_partial - iterates the exception list trying to match a rule
+ * based on type, major, minor and access type. It is
+ * considered a match if an exception's range is
+ * found to contain *any* of the devices specified by
+ * provided parameters. This is used to make sure no
+ * extra access is being granted that is forbidden by
+ * any of the exception list.
+ * @exceptions: list of exceptions
+ * @type: device type (DEV_BLOCK or DEV_CHAR)
+ * @major: device file major number, ~0 to match all
+ * @minor: device file minor number, ~0 to match all
+ * @access: permission mask (ACC_READ, ACC_WRITE, ACC_MKNOD)
+ *
+ * returns: true in case the provided range mat matches an exception completely
+ */
+static bool match_exception_partial(struct list_head *exceptions, short type,
+ u32 major, u32 minor, short access)
+{
+ struct dev_exception_item *ex;
- list_for_each_entry_rcu(ex, &dev_cgroup->exceptions, list) {
- if ((refex->type & DEV_BLOCK) && !(ex->type & DEV_BLOCK))
+ list_for_each_entry_rcu(ex, exceptions, list) {
+ if ((type & DEV_BLOCK) && !(ex->type & DEV_BLOCK))
continue;
- if ((refex->type & DEV_CHAR) && !(ex->type & DEV_CHAR))
+ if ((type & DEV_CHAR) && !(ex->type & DEV_CHAR))
continue;
- if (ex->major != ~0 && ex->major != refex->major)
+ /*
+ * We must be sure that both the exception and the provided
+ * range aren't masking all devices
+ */
+ if (ex->major != ~0 && major != ~0 && ex->major != major)
continue;
- if (ex->minor != ~0 && ex->minor != refex->minor)
+ if (ex->minor != ~0 && minor != ~0 && ex->minor != minor)
continue;
- if (refex->access & (~ex->access))
+ /*
+ * In order to make sure the provided range isn't matching
+ * an exception, all its access bits shouldn't match the
+ * exception's access bits
+ */
+ if (!(access & ex->access))
continue;
- match = true;
- break;
+ return true;
}
+ return false;
+}
+
+/**
+ * verify_new_ex - verifies if a new exception is part of what is allowed
+ * by a dev cgroup based on the default policy +
+ * exceptions. This is used to make sure a child cgroup
+ * won't have more privileges than its parent
+ * @dev_cgroup: dev cgroup to be tested against
+ * @refex: new exception
+ * @behavior: behavior of the exception's dev_cgroup
+ */
+static bool verify_new_ex(struct dev_cgroup *dev_cgroup,
+ struct dev_exception_item *refex,
+ enum devcg_behavior behavior)
+{
+ bool match = false;
+
+ rcu_lockdep_assert(rcu_read_lock_held() ||
+ lockdep_is_held(&devcgroup_mutex),
+ "device_cgroup:verify_new_ex called without proper synchronization");
if (dev_cgroup->behavior == DEVCG_DEFAULT_ALLOW) {
if (behavior == DEVCG_DEFAULT_ALLOW) {
- /* the exception will deny access to certain devices */
+ /*
+ * new exception in the child doesn't matter, only
+ * adding extra restrictions
+ */
return true;
} else {
- /* the exception will allow access to certain devices */
+ /*
+ * new exception in the child will add more devices
+ * that can be acessed, so it can't match any of
+ * parent's exceptions, even slightly
+ */
+ match = match_exception_partial(&dev_cgroup->exceptions,
+ refex->type,
+ refex->major,
+ refex->minor,
+ refex->access);
+
if (match)
- /*
- * a new exception allowing access shouldn't
- * match an parent's exception
- */
return false;
return true;
}
} else {
- /* only behavior == DEVCG_DEFAULT_DENY allowed here */
+ /*
+ * Only behavior == DEVCG_DEFAULT_DENY allowed here, therefore
+ * the new exception will add access to more devices and must
+ * be contained completely in an parent's exception to be
+ * allowed
+ */
+ match = match_exception(&dev_cgroup->exceptions, refex->type,
+ refex->major, refex->minor,
+ refex->access);
+
if (match)
/* parent has an exception that matches the proposed */
return true;
@@ -381,7 +463,7 @@ static int parent_has_perm(struct dev_cgroup *childcg,
if (!parent)
return 1;
- return may_access(parent, ex, childcg->behavior);
+ return verify_new_ex(parent, ex, childcg->behavior);
}
/**
@@ -709,18 +791,18 @@ static int __devcgroup_check_permission(short type, u32 major, u32 minor,
short access)
{
struct dev_cgroup *dev_cgroup;
- struct dev_exception_item ex;
- int rc;
-
- memset(&ex, 0, sizeof(ex));
- ex.type = type;
- ex.major = major;
- ex.minor = minor;
- ex.access = access;
+ bool rc;
rcu_read_lock();
dev_cgroup = task_devcgroup(current);
- rc = may_access(dev_cgroup, &ex, dev_cgroup->behavior);
+ if (dev_cgroup->behavior == DEVCG_DEFAULT_ALLOW)
+ /* Can't match any of the exceptions, even partially */
+ rc = !match_exception_partial(&dev_cgroup->exceptions,
+ type, major, minor, access);
+ else
+ /* Need to match completely one exception to be allowed */
+ rc = match_exception(&dev_cgroup->exceptions, type, major,
+ minor, access);
rcu_read_unlock();
if (!rc)
--
1.9.1
next prev parent reply other threads:[~2014-06-17 21:42 UTC|newest]
Thread overview: 215+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-17 21:41 [3.13.y.z extended stable] Linux 3.13.11.4 stable review Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 001/212] SUNRPC: Ensure that call_connect times out correctly Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 002/212] SUNRPC: Ensure call_connect_status() deals correctly with SOFTCONN tasks Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 003/212] net: sctp: wake up all assocs if sndbuf policy is per socket Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 004/212] net: sctp: test if association is dead in sctp_wake_up_waiters Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 005/212] l2tp: take PMTU from tunnel UDP socket Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 006/212] net: core: don't account for udp header size when computing seglen Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 007/212] bonding: Remove debug_fs files when module init fails Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 008/212] bridge: Fix double free and memory leak around br_allowed_ingress Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 009/212] ipv6: Limit mtu to 65575 bytes Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 010/212] gre: don't allow to add the same tunnel twice Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 011/212] vti: " Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 012/212] net: ipv4: current group_info should be put after using Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 013/212] ipv4: return valid RTA_IIF on ip route get Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 014/212] filter: prevent nla extensions to peek beyond the end of the message Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 015/212] ip6_gre: don't allow to remove the fb_tunnel_dev Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 016/212] vlan: Fix lockdep warning when vlan dev handle notification Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 017/212] net: Find the nesting level of a given device by type Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 018/212] net: Allow for more then a single subclass for netif_addr_lock Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 019/212] vlan: Fix lockdep warning with stacked vlan devices Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 020/212] macvlan: Fix lockdep warnings with stacked macvlan devices Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 021/212] tg3: update rx_jumbo_pending ring param only when jumbo frames are enabled Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 022/212] net: sctp: cache auth_enable per endpoint Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 023/212] rtnetlink: Warn when interface's information won't fit in our packet Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 024/212] rtnetlink: Only supply IFLA_VF_PORTS information when RTEXT_FILTER_VF is set Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 025/212] ipv6: fib: fix fib dump restart Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 026/212] bridge: Handle IFLA_ADDRESS correctly when creating bridge device Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 027/212] sctp: reset flowi4_oif parameter on route lookup Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 028/212] net: qmi_wwan: add Sierra Wireless EM7355 Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 029/212] net: qmi_wwan: add Sierra Wireless MC73xx Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 030/212] net: qmi_wwan: add Sierra Wireless MC7305/MC7355 Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 031/212] net: qmi_wwan: add Olivetti Olicard 500 Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 032/212] net: qmi_wwan: add Alcatel L800MA Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 033/212] net: qmi_wwan: add a number of CMOTech devices Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 034/212] net: qmi_wwan: add a number of Dell devices Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 035/212] slip: fix spinlock variant Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 036/212] net: sctp: Potentially-Failed state should not be reached from unconfirmed state Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 037/212] net: sctp: Don't transition to PF state when transport has exhausted 'Path.Max.Retrans' Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 038/212] mactap: Fix checksum errors for non-gso packets in bridge mode Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 039/212] Revert "macvlan : fix checksums error when we are in bridge mode" Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 040/212] tcp_cubic: fix the range of delayed_ack Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 041/212] vsock: Make transport the proto owner Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 042/212] net: cdc_ncm: fix buffer overflow Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 043/212] ip_tunnel: Set network header properly for IP_ECN_decapsulate() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 044/212] net: cdc_mbim: __vlan_find_dev_deep need rcu_read_lock Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 045/212] net: ipv4: ip_forward: fix inverted local_df test Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 046/212] net: ipv6: send pkttoobig immediately if orig frag size > mtu Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 047/212] ipv4: fib_semantics: increment fib_info_cnt after fib_info allocation Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 048/212] net: cdc_mbim: handle unaccelerated VLAN tagged frames Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 049/212] macvlan: Don't propagate IFF_ALLMULTI changes on down interfaces Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 050/212] sfc: fix calling of free_irq with already free vector Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 051/212] ip6_tunnel: fix potential NULL pointer dereference Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 052/212] net: filter: x86: fix JIT address randomization Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 053/212] net: filter: s390: " Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 054/212] net: avoid dependency of net_get_random_once on nop patching Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 055/212] ipv6: fix calculation of option len in ip6_append_data Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 056/212] rtnetlink: wait for unregistering devices in rtnl_link_unregister() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 057/212] net: gro: make sure skb->cb[] initial content has not to be zero Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 058/212] batman-adv: fix reference counting imbalance while sending fragment Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 059/212] batman-adv: increase orig refcount when storing ref in gw_node Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 060/212] batman-adv: fix local TT check for outgoing arp requests in DAT Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 061/212] ip_tunnel: Initialize the fallback device properly Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 062/212] ipv4: initialise the itag variable in __mkroute_input Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 063/212] net-gro: reset skb->truesize in napi_reuse_skb() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 064/212] netfilter: ipv4: defrag: set local_df flag on defragmented skb Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 065/212] ima: introduce ima_kernel_read() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 066/212] ima: audit log files opened with O_DIRECT flag Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 067/212] percpu: make pcpu_alloc_chunk() use pcpu_mem_free() instead of kfree() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 068/212] workqueue: fix bugs in wq_update_unbound_numa() failure path Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 069/212] [media] fc2580: fix tuning failure on 32-bit arch Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 070/212] memory: mvebu-devbus: fix the conversion of the bus width Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 071/212] ARM: orion5x: fix target ID for crypto SRAM window Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 072/212] workqueue: make rescuer_thread() empty wq->maydays list before exiting Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 073/212] workqueue: fix a possible race condition between rescuer and pwq-release Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 074/212] spi: core: Ignore unsupported Dual/Quad Transfer Mode bits Kamal Mostafa
2014-06-17 21:42 ` Kamal Mostafa [this message]
2014-06-17 21:42 ` [PATCH 3.13 076/212] PCI: mvebu: fix off-by-one in the computed size of the mbus windows Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 077/212] bus: mvebu-mbus: allow several windows with the same target/attribute Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 078/212] PCI: mvebu: split PCIe BARs into multiple MBus windows when needed Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 079/212] ARM: mvebu: fix NOR bus-width in Armada XP GP Device Tree Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 080/212] ARM: mvebu: fix NOR bus-width in Armada XP DB " Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 081/212] ARM: mvebu: fix NOR bus-width in Armada XP OpenBlocks AX3 " Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 082/212] crypto: caam - add allocation failure handling in SPRINTFCAT macro Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 083/212] ARM: common: edma: Fix xbar mapping Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 084/212] clk: Fix double free due to devm_clk_register() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 085/212] [media] media-device: fix infoleak in ioctl media_enum_entities() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 086/212] ARM: dts: kirkwood: fix mislocated pcie-controller nodes Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 087/212] device_cgroup: check if exception removal is allowed Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 088/212] md: avoid possible spinning md thread at shutdown Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 089/212] ACPI: Remove Kconfig symbol ACPI_PROCFS Kamal Mostafa
2014-06-17 22:26 ` Paul Bolle
2014-06-17 22:41 ` Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 090/212] ACPI: Revert "ACPI: Remove CONFIG_ACPI_PROCFS_POWER and cm_sbsc.c" Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 091/212] ACPI: Revert "ACPI / Battery: Remove battery's proc directory" Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 092/212] NFSd: Move default initialisers from create_client() to alloc_client() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 093/212] NFSd: call rpc_destroy_wait_queue() from free_client() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 094/212] genirq: Provide irq_force_affinity fallback for non-SMP Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 095/212] libata: clean up ZPODD when a port is detached Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 096/212] ACPI: blacklist win8 OSI for Dell Inspiron 7737 Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 097/212] ACPI / blacklist: Add dmi_enable_osi_linux quirk for Asus EEE PC 1015PX Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 098/212] ACPI: Revert "ACPI / AC: convert ACPI ac driver to platform bus" Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 099/212] ACPI / processor: do not mark present at boot but not onlined CPU as onlined Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 100/212] NFSD: Call ->set_acl with a NULL ACL structure if no entries Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 101/212] ALSA: hda - add headset mic detect quirks for three Dell laptops Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 102/212] gpio: mcp23s08: Bug fix of SPI device tree registration Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 103/212] drm/i915/vlv: reset VLV media force wake request register Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 104/212] ARM: dts: i.MX53: Fix ipu register space size Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 105/212] mm, thp: close race between mremap() and split_huge_page() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 106/212] intel_pstate: Set turbo VID for BayTrail Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 107/212] powerpc/powernv: Reset root port in firmware Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 108/212] hrtimer: Set expiry time before switch_hrtimer_base() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 109/212] hwmon: (emc1403) fix inverted store_hyst() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 110/212] hwmon: (emc1403) Fix resource leak on module unload Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 111/212] hwmon: (emc1403) Support full range of known chip revision numbers Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 112/212] iommu/amd: Fix interrupt remapping for aliased devices Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 113/212] ASoC: wm8962: Update register CLASS_D_CONTROL_1 to be non-volatile Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 114/212] [media] V4L2: ov7670: fix a wrong index, potentially Oopsing the kernel from user-space Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 115/212] [media] V4L2: fix VIDIOC_CREATE_BUFS in 64- / 32-bit compatibility mode Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 116/212] x86, mm, hugetlb: Add missing TLB page invalidation for hugetlb_cow() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 117/212] i2c: designware: Mask all interrupts during i2c controller enable Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 118/212] i2c: s3c2410: resume race fix Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 119/212] i2c: rcar: bail out on zero length transfers Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 120/212] dm crypt: fix cpu hotplug crash by removing per-cpu structure Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 121/212] metag: fix memory barriers Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 122/212] metag: Reduce maximum stack size to 256MB Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 123/212] x86-64, modify_ldt: Make support for 16-bit segments a runtime option Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 124/212] drm/i915: restore backlight precision when converting from ACPI Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 125/212] drm/i915: Increase WM memory latency values on SNB Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 126/212] PCI: shpchp: Check bridge's secondary (not primary) bus speed Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 127/212] parisc: ratelimit userspace segfault printing Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 128/212] parisc: Improve LWS-CAS performance Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 129/212] Target/iser: Fix wrong connection requests list addition Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 130/212] Target/iser: Fix iscsit_accept_np and rdma_cm racy flow Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 131/212] iscsi-target: Change BUG_ON to REJECT in iscsit_process_nop_out Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 132/212] tcm_fc: Fix free-after-use regression in ft_free_cmd Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 133/212] target: Don't allow setting WC emulation if device doesn't support Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 134/212] arm: dts: Fix missing device_type="memory" for ste-ccu8540 Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 135/212] mips: dts: Fix missing device_type="memory" property in memory nodes Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 136/212] arm64: fix pud_huge() for 2-level pagetables Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 137/212] libceph: fix corruption when using page_count 0 page in rbd Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 138/212] clk: tegra: use pll_ref as the pll_e parent Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 139/212] clk: tegra: Fix wrong value written to PLLE_AUX Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 140/212] target: fix memory leak on XCOPY Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 141/212] sysfs: make sure read buffer is zeroed Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 142/212] cfg80211: free sme on connection failures Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 143/212] sched: Sanitize irq accounting madness Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 144/212] sched: Use CPUPRI_NR_PRIORITIES instead of MAX_RT_PRIO in cpupri check Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 145/212] mac80211: fix suspend vs. association race Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 146/212] mac80211: fix on-channel remain-on-channel Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 147/212] af_iucv: wrong mapping of sent and confirmed skbs Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 148/212] perf: Limit perf_event_attr::sample_period to 63 bits Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 149/212] perf: Prevent false warning in perf_swevent_add Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 150/212] drm/gf119-/disp: fix nasty bug which can clobber SOR0's clock setup Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 151/212] drm/radeon: also try GART for CPU accessed buffers Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 152/212] drm/radeon: handle non-VGA class pci devices with ATRM Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 153/212] drm/radeon: fix register typo on si Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 154/212] drm/radeon: avoid segfault on device open when accel is not working Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 155/212] drm/radeon/pm: don't allow debugfs/sysfs access when PX card is off (v2) Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 156/212] can: peak_pci: prevent use after free at netdev removal Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 157/212] nfsd4: remove lockowner when removing lock stateid Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 158/212] nfsd4: warn on finding lockowner without stateid's Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 159/212] dma: mv_xor: Flush descriptors before activating a channel Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 160/212] dmaengine: fix dmaengine_unmap failure Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 161/212] hwpoison, hugetlb: lock_page/unlock_page does not match for handling a free hugepage Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 162/212] mm/memory-failure.c: fix memory leak by race between poison and unpoison Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 163/212] ARM: OMAP3: clock: Back-propagate rate change from cam_mclk to dpll4_m5 on all OMAP3 platforms Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 164/212] dmaengine: dw: went back to plain {request,free}_irq() calls Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 165/212] ARM: omap5: hwmod_data: Correct IDLEMODE for McPDM Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 166/212] Input: synaptics - add min/max quirk for the ThinkPad W540 Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 167/212] ARM: OMAP2+: nand: Fix NAND on OMAP2 and OMAP3 boards Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 168/212] futex: Add another early deadlock detection check Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 169/212] futex: Prevent attaching to kernel threads Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 170/212] ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 171/212] cpufreq: remove race while accessing cur_policy Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 172/212] cpufreq: cpu0: drop wrong devm usage Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 173/212] ARM: imx: fix error handling in ipu device registration Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 174/212] ALSA: hda - Fix onboard audio on Intel H97/Z97 chipsets Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 175/212] ARM: 8051/1: put_user: fix possible data corruption in put_user Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 176/212] ARM: 8064/1: fix v7-M signal return Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 177/212] Input: synaptics - T540p - unify with other LEN0034 models Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 178/212] drm/i915: Only copy back the modified fields to userspace from execbuffer Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 179/212] dm cache: always split discards on cache block boundaries Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 180/212] virtio_blk: don't crash, report error if virtqueue is broken Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 181/212] virtio_blk: fix race between start and stop queue Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 182/212] powerpc: Fix 64 bit builds with binutils 2.24 Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 183/212] powerpc, kexec: Fix "Processor X is stuck" issue during kexec from ST mode Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 184/212] rtmutex: Fix deadlock detector for real Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 185/212] drm/radeon: avoid crash if VM command submission isn't available Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 186/212] drm/radeon: don't allow RADEON_GEM_DOMAIN_CPU for command submission Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 187/212] iwlwifi: mvm: fix setting channel in monitor mode Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 188/212] Staging: speakup: Move pasting into a work item Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 189/212] USB: Avoid runtime suspend loops for HCDs that can't handle suspend/resume Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 190/212] can: only rename enabled led triggers when changing the netdev name Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 191/212] USB: io_ti: fix firmware download on big-endian machines (part 2) Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 192/212] USB: ftdi_sio: add NovaTech OrionLXm product ID Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 193/212] USB: serial: option: add support for Novatel E371 PCIe card Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 194/212] USB: cdc-wdm: properly include types.h Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 195/212] md: always set MD_RECOVERY_INTR when aborting a reshape or other "resync" Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 196/212] xhci: delete endpoints from bandwidth list before freeing whole device Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 197/212] md: always set MD_RECOVERY_INTR when interrupting a reshape thread Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 198/212] ALSA: hda/analog - Fix silent output on ASUS A8JN Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 199/212] drm/radeon/dpm: resume fixes for some systems Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 200/212] drm/radeon: use the CP DMA on CIK Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 201/212] ALSA: hda/realtek - Correction of fixup codes for PB V7900 laptop Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 202/212] ALSA: hda/realtek - Fix COEF widget NID for ALC260 replacer fixup Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 203/212] iser-target: Add missing target_put_sess_cmd for ImmedateData failure Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 204/212] iscsi-target: Fix wrong buffer / buffer overrun in iscsi_change_param_value() Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 205/212] percpu-refcount: fix usage of this_cpu_ops Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 206/212] futex-prevent-requeue-pi-on-same-futex.patch futex: Forbid uaddr == uaddr2 in futex_requeue(..., requeue_pi=1) Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 207/212] futex: Validate atomic acquisition in futex_lock_pi_atomic() Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 208/212] futex: Always cleanup owner tid in unlock_pi Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 209/212] futex: Make lookup_pi_state more robust Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 210/212] target: Fix alua_access_state attribute OOPs for un-configured devices Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 211/212] mm: rmap: fix use-after-free in __put_anon_vma Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 212/212] mm: add !pte_present() check on existing hugetlb_entry callbacks Kamal Mostafa
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=1403041506-13646-76-git-send-email-kamal@canonical.com \
--to=kamal@canonical.com \
--cc=arozansk@redhat.com \
--cc=cgroups@vger.kernel.org \
--cc=kernel-team@lists.ubuntu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=serge.hallyn@canonical.com \
--cc=stable@vger.kernel.org \
--cc=tj@kernel.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