| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
AF_BUS has netfilter hooks on the packet sending path. This allows the
netfilter subsystem to register netfilter hook handlers.
The netfilter_dbus module allows to inspect D-Bus messages and take
actions based on the information contained on these messages.
Signed-off-by: Alban Crequy <alban.crequy@collabora.co.uk>
|
|
|
|
|
|
|
|
|
|
| |
The D-Bus netfilter module needs to decode D-Bus match rules to decide
if a given peer can receive or not a D-Bus message. Add a match rule
implementation to be used by the netfilter D-Bus module.
Based on a previous patch by Alban Crequy.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
|
|
|
|
| |
The netfilter D-Bus module needs to parse D-bus messages sent by
applications to decide whether a peer can receive or not a D-Bus
message. Add D-bus message parsing logic to be able to analyze.
Based on a previous patch by Alban Crequy.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The D-bus IPC system implements a transport that uses AF_BUS sockets to
send D-Bus messages to the peers. This allows decouple the routing logic
from the daemon and move it to the kernel which has the advantage of
reducing the number of context switches and the messages copied to
user-space.
A D-Bus protocol aware netfilter module decide which peer can recive a
given message based on a set of D-Bus match rules. These match rules
are set from user-space using the netlink connector API.
Based on a previous patch by Alban Crequy.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In a connector callback, it was not possible to reply to a message only to a
sender. This patch implements cn_netlink_reply(). It uses the connector socket
to send an unicast netlink message back to the sender.
The following pseudo-code can be used from a connector callback:
struct cn_msg *cn_reply;
cn_reply = kzalloc(sizeof(struct cn_msg)
+ sizeof(struct ..._nl_cfg_reply), GFP_KERNEL);
cn_reply->id = msg->id;
cn_reply->seq = msg->seq;
cn_reply->ack = msg->ack + 1;
cn_reply->len = sizeof(struct ..._nl_cfg_reply);
cn_reply->flags = 0;
rr = cn_netlink_reply(cn_reply, nsp->pid, GFP_KERNEL);
Signed-off-by: Alban Crequy <alban.crequy@collabora.co.uk>
|
|
|
|
|
|
| |
This patch adds the AF_BUS code to the Linux Kernel build system.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
| |
This patch adds a garbage collector for AF_BUS sockets.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each process connected to an AF_BUS socket, has one or more addresses
within that bus. These addresses are 64-bit unsigned integers,
interpreted by splitting the address into two parts: the most significant
16 bits are a prefix identifying the type of address, and the remaining
48 bits are the actual client address within that prefix.
The process that calls bind(2) on the socket is the owner of the bus and
is called the bus master. The master is a special client of the bus and has
some responsibility for the bus' operation. The master is assigned a fixed
address with all the bits zero.
The prefix with all bits zero is reserved for use by the kernel, which
automatically assigns one address from this prefix to each client on
connection. The address in this prefix with all bits zero is always
assigned to the bus master. Addresses on the prefix 0000 are unique
and will never repeat for the lifetime of the bus master.
AF_BUS transport can support two network topologies. When a process
first connect to the bus master, it can only communicate with the
bus master. The process can't send and receive packets from other
peers on the bus. So, from the client process point of view the
network topology is point-to-point.
The bus master can allow the connected peer to be part of the bus
and start to communicate with other peers by setting an socket option
with the setsockopt(2) system call using the accepted socket descriptor.
At this point, the topology becomes a bus to the client process.
Packets whose destination address is not assigned to any client are routed
by default to the bus master (the client accepted socket descriptor).
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UNIX domain sockets support passing file descriptors or process
credentials in the form of ancillary data.
Since AF_BUS sockets are used to communicate processes on a local
machine, they should also support passing control messages.
The core socket level control messages processing only allows sockets
whose family is PF_UNIX to send SCM_RIGHTS type messages. So, let's
also allow to PF_BUS sockets.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
|
| |
AF_BUS sockets add a netfilter NF_HOOK() on the packet sending path.
This allows packet to be mangled by registered netfilter hooks.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
| |
Add Security-Enhanced Linux (SELinux) hook for AF_BUS socket address family.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
|
| |
AF_BUS implements a security hook bus_connect() to be used by LSM
to enforce connectivity security policies.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An AF_BUS socket can have many addresses associated. This allows to send
multicast packets on different domains. An af_bus address is an unsigned
64-bit value that contains two fields: a 16-bit prefix and a 48-bit client
address.
Each bus has an associated path name that uniquely identifies the bus.
So, a socket address is composed of the bus path and the peer address.
Clients can send unicast packets to each other and multicast to different
prefixes but they can only connect(2) to a special socket that owns the
bus an is known as the bus master.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
|
| |
AF_BUS is different to other POSIX BSD sockets address families so a
is good to have a documentation about its design, ABI and semantics.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AF_BUS is a new socket address family that allows both unicast and
multicast I on a local machine with total ordering for messages
(every process on the same bus sees each message in the same order).
A process can create buses to which other processes can connect and
communicate with each other by sending messages. Processes' addresses are
automatically assigned by the bus on connect and are unique. Messages can
be sent either to process' unique address or to a bus multicast address.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
|
|
|
| |
PCI requires IO mem, but not an IO port. Some of the SFF code
did not make this distinction.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
|
|
|
|
| |
The VIN driver requires that tha SoC camera driver implements the
g_mbus_fmt function. If it doesn't, users won't get a useful message.
Hence this additional error message.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
|
|
|
|
| |
The SRU driver uses somewhat hard coded information about the SSI
channels connected to the audio codec. This change adds support for
SSI7 and SSI8 connected to an ak4642 audio codec.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
|
|
|
|
|
|
| |
The ov10635 cameras can output 8 or 10-bit BT.656 data. By default
they use 8-bit data. This change allows the user to select 10-bit
data.
Note: only VIN0 and VIN1 on the R-Car H1 support 10-bit YUV data.
Due to pinmux conflicts with VIN1, you can no longer use VIN3.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
|
|
| |
Added support for the R-Car H1 hurricane platform.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
|
|
| |
By default, enable device nodes for I2C devices.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
|
|
|
| |
At 1280x800 at 30fps, the timings previously used do not work. This
change increases the HTS setting to fix it.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
|
|
| |
Add pinmux for SCIF0, SCIF1 and SCIF3.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
|
|
|
| |
This driver does little other than tell the SoC bridge hardware what the
output format is.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
|
|
|
| |
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|