On 19. 12. 24, 8:45, Ivaylo Dimitrov wrote:
Hi,
...
On 29.11.20 г. 22:51 ч., Pavel Machek wrote:
It looks like you may also have a problem with tty hangups, which serdev
does not support currently. There are multiple paths in n_gsm which can
trigger a hangup (e.g. based on remote input) and w
Hi,
...
On 29.11.20 г. 22:51 ч., Pavel Machek wrote:
It looks like you may also have a problem with tty hangups, which serdev
does not support currently. There are multiple paths in n_gsm which can
trigger a hangup (e.g. based on remote input) and would likely lead to a
crash
I don't believe
On Tue, 17 Dec 2024 at 04:12, Brian Norris wrote:
>
> We recently updated these device_match*() (and therefore, various
> *find_device_by*()) functions to return a consistent 'false' value when
> trying to match a NULL handle. Add tests for this.
>
> This provides regression-testing coverage for t
On Tue, 17 Dec 2024 at 04:12, Brian Norris wrote:
>
> Per commit bebe94b53eb7 ("drivers: base: default KUNIT_* fragments to
> KUNIT_ALL_TESTS"), it seems like we should default to KUNIT_ALL_TESTS.
>
> This enables these platform_device tests for common configurations, such
> as with:
> ./tools/t
On Tue, 17 Dec 2024 at 04:12, Brian Norris wrote:
>
> of_find_device_by_node(), bus_find_device_by_of_node(),
> bus_find_device_by_fwnode(), ..., all produce arbitrary results when
> provided with a NULL of_node, fwnode, ACPI handle, etc. This is
> counterintuitive, and the source of a few bugs, s
On Sat, 14 Dec 2024 at 02:09, Brian Norris wrote:
>
> If the header is included in a test without
> certain other headers, it produces compiler warnings like:
>
> In file included from [...]
> ../include/kunit/platform_device.h:15:57: warning: ‘struct completion’
> declared inside parameter list
Hello,
On Tue, 17 Dec 2024, Julian Anastasov wrote:
> On Sat, 14 Dec 2024, David Laight wrote:
>
> > The 'max_avail' value is calculated from the system memory
> > size using order_base_2().
> > order_base_2(x) is defined as '(x) ? fn(x) : 0'.
> > The compiler generates two copies of t
Hello:
This patch was applied to netdev/net.git (main)
by Jakub Kicinski :
On Tue, 17 Dec 2024 22:16:51 +0100 you wrote:
> Fix the way tcpdump is executed by:
> - Using the right variable for the namespace. Currently the use of the
> empty "ns" makes the command fail.
> - Waiting until it start
On Wed, 27 Nov 2024 17:33:27 -0800, Sean Christopherson wrote:
> The super short TL;DR: snapshot all X86_FEATURE_* flags that KVM cares
> about so that all queries against guest capabilities are "fast", e.g. don't
> require manual enabling or judgment calls as to where a feature needs to be
> fast.
On Tue, 17 Dec 2024 18:14:51 +, Ivan Orlov wrote:
> Currently, the unhandleable vectoring (e.g. when guest accesses MMIO
> during vectoring) is handled differently on VMX and SVM: on VMX KVM
> returns internal error, when SVM goes into infinite loop trying to
> deliver an event again and again.
Implement support for basic ethtool functionality.
Note that ovpn is a virtual device driver, therefore
various ethtool APIs are just not meaningful and thus
not implemented.
Signed-off-by: Antonio Quartulli
Reviewed-by: Andrew Lunn
---
drivers/net/ovpn/main.c | 15 +++
1 file chan
The ovpn-cli tool can be compiled and used as selftest for the ovpn
kernel module.
[NOTE: it depends on libmedtls for decoding base64-encoded keys]
ovpn-cli implements the netlink and RTNL APIs and can thus be integrated
in any script for more automated testing.
Along with the tool, 4 scripts ar
Whenever a peer is deleted, send a notification to userspace so that it
can react accordingly.
This is most important when a peer is deleted due to ping timeout,
because it all happens in kernelspace and thus userspace has no direct
way to learn about it.
Signed-off-by: Antonio Quartulli
---
dr
IV wrap-around is cryptographically dangerous for a number of ciphers,
therefore kill the key and inform userspace (via netlink) should the
IV space go exhausted.
Userspace has two ways of deciding when the key has to be renewed before
exhausting the IV space:
1) time based approach:
after X se
This change introduces the netlink commands needed to add, get, delete
and swap keys for a specific peer.
Userspace is expected to use these commands to create, inspect (non
sensitive data only), destroy and rotate session keys for a specific
peer.
Signed-off-by: Antonio Quartulli
---
drivers/n
This change introduces the netlink command needed to add, delete and
retrieve/dump known peers. Userspace is expected to use these commands
to handle known peer lifecycles.
Signed-off-by: Antonio Quartulli
---
drivers/net/ovpn/netlink.c | 629 -
driver
In case of UDP links, the local endpoint used to communicate with a
given peer may change without a connection restart.
Add support for learning the new address in case of change.
Signed-off-by: Antonio Quartulli
---
drivers/net/ovpn/peer.c | 45 +
dr
In a multi-peer scenario there are a number of situations when a
specific peer needs to be looked up.
We may want to lookup a peer by:
1. its ID
2. its VPN destination IP
3. its transport IP/port couple
For each of the above, there is a specific routing table referencing all
peers for fast look u
A peer connected via UDP may change its IP address without reconnecting
(float).
Add support for detecting and updating the new peer IP/port in case of
floating.
Signed-off-by: Antonio Quartulli
---
drivers/net/ovpn/io.c | 4 +
drivers/net/ovpn/peer.c | 243 +
OpenVPN supports configuring a periodic keepalive packet.
message to allow the remote endpoint detect link failures.
This change implements the keepalive sending and timer expiring logic.
Signed-off-by: Antonio Quartulli
---
drivers/net/ovpn/io.c | 77 +
drivers/net/ovp
With this change an ovpn instance will be able to stay connected to
multiple remote endpoints.
This functionality is strictly required when running ovpn on an
OpenVPN server.
Signed-off-by: Antonio Quartulli
---
drivers/net/ovpn/main.c | 67 +-
drivers/net/ovpn/ovpnstruct
Userspace may want to pass the MSG_NOSIGNAL flag to
tcp_sendmsg() in order to avoid generating a SIGPIPE.
To pass this flag down the TCP stack a new skb sending API
accepting a flags argument is introduced.
Cc: Eric Dumazet
Cc: Paolo Abeni
Signed-off-by: Antonio Quartulli
---
drivers/net/ovpn
When sending an skb over a socket using skb_send_sock_locked(),
it is currently not possible to specify any flag to be set in
msghdr->msg_flags.
However, we may want to pass flags the user may have specified,
like MSG_NOSIGNAL.
Extend __skb_send_sock() with a new argument 'flags' and add a
new in
This change implements encryption/decryption and
encapsulation/decapsulation of OpenVPN packets.
Support for generic crypto state is added along with
a wrapper for the AEAD crypto kernel API.
Signed-off-by: Antonio Quartulli
---
drivers/net/Kconfig| 4 +
drivers/net/ovpn/Makefile
Byte/packet counters for in-tunnel and transport streams
are now initialized and updated as needed.
To be exported via netlink.
Signed-off-by: Antonio Quartulli
---
drivers/net/ovpn/Makefile | 1 +
drivers/net/ovpn/io.c | 12 +++-
drivers/net/ovpn/peer.c | 2 ++
drivers/net/ovpn
With this change ovpn is allowed to communicate to peers also via TCP.
Parsing of incoming messages is implemented through the strparser API.
Note that ovpn redefines sk_prot and sk_socket->ops for the TCP socket
used to communicate with the peer.
For this reason it needs to access inet6_stream_op
inet6_stream_ops is currently non-static and also declared in
include/net/ipv6.h, however, it is not exported for usage in
non-builtin modules.
Export inet6_stream_ops via EXPORT_SYMBOL_GPL in order to make
it available to non-builtin modules.
Cc: David Ahern
Cc: Eric Dumazet
Cc: Jakub Kicinski
Packets sent over the ovpn interface are processed and transmitted to the
connected peer, if any.
Implementation is UDP only. TCP will be added by a later patch.
Note: no crypto/encapsulation exists yet. Packets are just captured and
sent.
Signed-off-by: Antonio Quartulli
---
drivers/net/Kconf
This specific structure is used in the ovpn kernel module
to wrap and carry around a standard kernel socket.
ovpn takes ownership of passed sockets and therefore an ovpn
specific objects is attached to them for status tracking
purposes.
Initially only UDP support is introduced. TCP will come in a
Packets received over the socket are forwarded to the user device.
Implementation is UDP only. TCP will be added by a later patch.
Note: no decryption/decapsulation exists yet, packets are forwarded as
they arrive without much processing.
Signed-off-by: Antonio Quartulli
---
drivers/net/ovpn/i
Similarly so kref_put_lock(), decrease the refcount
and call bh_lock_sock(sk) if it reached 0.
This kref_put variant comes handy when in need of
atomically cleanup any socket context along with
setting the refcount to 0.
Cc: Will Deacon (maintainer:ATOMIC INFRASTRUCTURE)
Cc: Peter Zijlstra (mai
An ovpn_peer object holds the whole status of a remote peer
(regardless whether it is a server or a client).
This includes status for crypto, tx/rx buffers, napi, etc.
Only support for one peer is introduced (P2P mode).
Multi peer support is introduced with a later patch.
Along with the ovpn_pee
Add basic infrastructure for handling ovpn interfaces.
Signed-off-by: Antonio Quartulli
---
Documentation/netlink/specs/rt_link.yaml | 16 +
drivers/net/ovpn/Makefile| 1 +
drivers/net/ovpn/io.c| 22 ++
drivers/net/ovpn/io.h| 2
An ovpn interface configured in MP mode will keep carrier always
on and let the user decide when to bring it administratively up and
down.
This way a MP node (i.e. a server) will keep its interface always
up and running, even when no peer is connected.
Signed-off-by: Antonio Quartulli
---
drive
This commit introduces basic netlink support with family
registration/unregistration functionalities and stub pre/post-doit.
More importantly it introduces the YAML uAPI description along
with its auto-generated files:
- include/uapi/linux/ovpn.h
- drivers/net/ovpn/netlink-gen.c
- drivers/net/ovpn
OpenVPN is a userspace software existing since around 2005 that allows
users to create secure tunnels.
So far OpenVPN has implemented all operations in userspace, which
implies several back and forth between kernel and user land in order to
process packets (encapsulate/decapsulate, encrypt/decrypt
Notable changes since v15:
* added IPV6 hack in Kconfig
* switched doc '|' operator to '>-' in yaml netlink spec
* added ovpn-mode doc to rt_link.yaml
* implemented rtnl_link_ops.fill_info
* removed ovpn_socket_detach() function because UDP and TCP detachment
is now happening in different moments
On 12/18/24 9:57 AM, Jerome Marchand wrote:
In get_uprobe_offset(), the call to procmap_query() use the constant
PROCMAP_QUERY_VMA_EXECUTABLE, even if PROCMAP_QUERY is not defined.
Define PROCMAP_QUERY_VMA_EXECUTABLE when PROCMAP_QUERY isn't.
Fixes: 4e9e07603ecd ("selftests/bpf: make use of
On Mon, Dec 16, 2024 at 03:24:01PM -0800, Andrii Nakryiko wrote:
> On Fri, Dec 13, 2024 at 7:13 PM Eduard Zingerman wrote:
> >
> > On Fri, 2024-12-13 at 19:44 -0700, Daniel Xu wrote:
> >
[...]
> >
> > > > with Eduard's suggestion this also becomes interesting when you have
> > > > 000mmm mix (as
Hello,
> This series carries forward the effort to add Kselftest for PCI Endpoint
> Subsystem started by Aman Gupta [1] a while ago. I reworked the initial
> version
> based on another patch that fixes the return values of IOCTLs in
> pci_endpoint_test driver and did many cleanups. Since the resu
On Thu, Dec 12, 2024 at 8:34 AM Danilo Krummrich wrote:
>
> This patch series implements the necessary Rust abstractions to implement
> device drivers in Rust.
>
> This includes some basic generalizations for driver registration, handling of
> ID
> tables, MMIO operations and device resource hand
On Nov 16, 2024 Amit Vadhavana wrote:
>
> Remove the temporary context variable `tctx` to simplify the code. use
> the original context `ctx` directly in calls to `lsm_get_self_attr`,
> eliminating redundancy without any functional changes.
>
> Reviewed-by: Casey Schaufler
> Reviewed-by: Shuah
On Wed, Dec 18, 2024 at 2:04 PM Namhyung Kim wrote:
>
> In machine__create_module(), it reads /proc/modules to get a list of
> modules in the system. The file shows the start address (of text) and
> the size of the module so it uses the info to reconstruct system memory
> maps for symbol resoluti
In machine__create_module(), it reads /proc/modules to get a list of
modules in the system. The file shows the start address (of text) and
the size of the module so it uses the info to reconstruct system memory
maps for symbol resolution.
But module memory consists of multiple segments and they c
On 12/18/24 18:39, Sean Christopherson wrote:
I definitely think it's worth explaining that moving the detection covers new
emulation cases, and also calling out that handle_ept_misconfig() consults
vmx_check_emulate_instruction(), i.e. that moving the detection shouldn't
affect KVM's overall han
On 12/18/24 18:44, Sean Christopherson wrote:
On Tue, Dec 17, 2024, Ivan Orlov wrote:
Currently, the unhandleable vectoring (e.g. when guest accesses MMIO
during vectoring) is handled differently on VMX and SVM: on VMX KVM
returns internal error, when SVM goes into infinite loop trying to
delive
Linux
> > next-20241216...next-20241218.
> >
> > First seen on the next-20241216 tag.
> > Good: next-20241213
> > Bad: next-20241216
> >
> > Reported-by: Linux Kernel Functional Testing
> >
> > Anders bisected this regressions and found,
> &g
Hi!
> > > This is the RT stable review cycle of patch 4.19.324-rt139-rc1.
> > >
> > > Please scream at me if I messed something up. Please test the patches
> > > too.
> >
> > 4.19.324-rt139 would be very useful for our -cip-rt release, can we
> > hope to get it soon? :-).
>
> Ah sorry, didn't s
On Tue, Dec 17, 2024, Ivan Orlov wrote:
> Move unhandleable vmexit during vectoring error detection
> into check_emulate_instruction. Implement the function which prohibits
> the emulation if EMULTYPE_PF is set when vectoring, otherwise such a
> situation may occur:
I definitely think it's worth e
On Tue, Dec 17, 2024, Ivan Orlov wrote:
> Currently, the unhandleable vectoring (e.g. when guest accesses MMIO
> during vectoring) is handled differently on VMX and SVM: on VMX KVM
> returns internal error, when SVM goes into infinite loop trying to
> deliver an event again and again.
>
> This pat
KVM: selftests:
On Tue, Dec 17, 2024, Ivan Orlov wrote:
> Extend the 'set_memory_region_test' with a test case which covers the
> MMIO during vectoring error handling. The test case
Probably a good idea to explicitly state this is x86-only (hard to see that
from the diff alone).
>
> 1) Sets an
KVM: selftests: is the preferred scope.
On Tue, Dec 17, 2024, Ivan Orlov wrote:
> Detect unhandleable vectoring in check_emulate_instruction to prevent
> infinite loop on SVM and eliminate the difference in how intercepted #PF
> during vectoring is handled on SVM and VMX.
>
> Signed-off-by: Ivan Orlov
> ---
> V1 -> V2:
> - Detect the u
On Tue, Dec 17, 2024, Ivan Orlov wrote:
> Add emulation status for unhandleable vectoring, i.e. when KVM can't
> emulate an instruction during vectoring. Such a situation can occur
> if guest sets the IDT descriptor base to point to MMIO region, and
> triggers an exception after that.
>
> Exit to
In get_uprobe_offset(), the call to procmap_query() use the constant
PROCMAP_QUERY_VMA_EXECUTABLE, even if PROCMAP_QUERY is not defined.
Define PROCMAP_QUERY_VMA_EXECUTABLE when PROCMAP_QUERY isn't.
Fixes: 4e9e07603ecd ("selftests/bpf: make use of PROCMAP_QUERY ioctl if
available")
Signed-off-by
On 12/18/2024 12:48 AM, Christophe Leroy wrote:
>
>
> Le 18/12/2024 à 09:38, Petr Mladek a écrit :
>> On Tue 2024-12-17 23:09:59, Easwar Hariharan wrote:
>>> Commit b35108a51cf7 ("jiffies: Define secs_to_jiffies()") introduced
>>> secs_to_jiffies(). As the value here is a multiple of 1000, use
>>
This reverts commit f7345ccc62a4b880cf76458db5f320725f28e400.
swake_up_one_online() has been removed because hrtimers can now assign
a proper online target to hrtimers queued from offline CPUs. Therefore
remove the related hackery.
Signed-off-by: Frederic Weisbecker
---
kernel/rcu/tree_nocb.h |
It's now ok to perform a wake-up from an offline CPU because the
resulting armed scheduler bandwidth hrtimers are now correctly targeted
by hrtimer infrastructure.
Remove the obsolete hackerry.
Signed-off-by: Frederic Weisbecker
---
kernel/rcu/tree.c | 34 +-
hrtimers are migrated away from the dying CPU to any online target at
the CPUHP_AP_HRTIMERS_DYING stage in order not to delay bandwidth timers
handling tasks involved in the CPU hotplug forward progress.
However wake ups can still be performed by the outgoing CPU after
CPUHP_AP_HRTIMERS_DYING. Tho
5c0930ccaad5 ("hrtimers: Push pending hrtimers away from outgoing CPU earlier")
was introduced to fix stalls with scheduler bandwidth timers getting
migrated while some kthreads handling CPU hotplug rely on bandwidth.
However this has introduced several other issues which used to be
confined to RC
On Wed, Dec 18, 2024 at 5:08 PM Naresh Kamboju
wrote:
>
> The Rust gcc builds failed due to following build warnings / errors on the
> x86_64 and arm64 architectures with selftests/rust/config on the Linux
> next-20241216...next-20241218.
>
> First seen on the next-20241216
On Tue, Dec 17, 2024 at 09:28:18AM +0100, Greg Kroah-Hartman wrote:
> On Tue, Dec 17, 2024 at 04:11:21PM +0800, Z qiang wrote:
> > >
> > > On Sat, Dec 14, 2024 at 09:53:13PM +0100, Greg Kroah-Hartman wrote:
> > > > I'm announcing the release of the 6.1.120 kernel.
> > > >
> > > > All users of the 6
The Rust gcc builds failed due to following build warnings / errors on the
x86_64 and arm64 architectures with selftests/rust/config on the Linux
next-20241216...next-20241218.
First seen on the next-20241216 tag.
Good: next-20241213
Bad: next-20241216
Reported-by: Linux Kernel Functional
Dereferencing a null pointer on Clang is not a good idea - it will
entirely optimise out the dereference. Make the pointer volatile to
force the access (and fault).
Reported-by: kernel test robot
Closes:
https://lore.kernel.org/oe-kbuild-all/202412140850.4tw4ybqc-...@intel.com/
Signed-off-by: Ke
On Mon, Dec 16, 2024 at 05:43:31PM +0100, Miguel Ojeda wrote:
> On Mon, Dec 16, 2024 at 5:31 PM Danilo Krummrich wrote:
> >
> > Thanks! If nothing else comes up, I'll send you a v7 end of this week
> > addressing
> > the two minor things I just replied to (remove wrong return statement in
> > iou
On Wed, Dec 18, 2024 at 01:20:20PM +0100, Benoît du Garreau wrote:
> On Thu, 12 Dec 2024 17:33:37 +0100 Danilo Krummrich wrote:
>
> > From: Wedson Almeida Filho
> >
> > Revocable allows access to objects to be safely revoked at run time.
> >
> > This is useful, for example, for resources allocat
On Thu, 12 Dec 2024 17:33:37 +0100 Danilo Krummrich wrote:
> From: Wedson Almeida Filho
>
> Revocable allows access to objects to be safely revoked at run time.
>
> This is useful, for example, for resources allocated during device probe;
> when the device is removed, the driver should stop acce
It's useful to build samples/* with UML and the only blocker is the
artificial incompatibility with CONFIG_HEADERS_INSTALL.
Allow the headers_install target with ARCH=um, which then allow building
samples (and tests using them) with UML too:
printf
'CONFIG_SAMPLES=y\nCONFIG_HEADERS_INSTALL=y\n
Currently, when we run the BPF selftests with the following command:
'make -C tools/testing/selftests TARGETS=bpf SKIP_TARGETS=""'
The command generates untracked files and directories:
'''
Untracked files:
(use "git add ..." to include in what will be committed)
tools/testing/selftests
On 17 Dec 2024, at 22:16, Adrian Moreno wrote:
> Fix the way tcpdump is executed by:
> - Using the right variable for the namespace. Currently the use of the
> empty "ns" makes the command fail.
> - Waiting until it starts to capture to ensure the interesting traffic
> is caught on slow sys
On Mon, Dec 16, 2024 at 11:33:37AM +0530, Manivannan Sadhasivam wrote:
> On Thu, Dec 12, 2024 at 10:25:53AM +0100, Niklas Cassel wrote:
> >
> > If you need to respin this series, I strongly suggest that you send the
> > Qcom fix separately. It is totally independent, and should be merged ASAP.
> >
On Wed, Dec 18, 2024 at 11:12:01AM +0800, Ma Ke wrote:
> Once device_add(&dev->dev) failed, call put_device() to explicitly
> release dev->dev. Or it could cause double free problem.
>
> As comment of device_add() says, 'if device_add() succeeds, you should
> call device_del() when you want to get
Le 18/12/2024 à 09:38, Petr Mladek a écrit :
On Tue 2024-12-17 23:09:59, Easwar Hariharan wrote:
Commit b35108a51cf7 ("jiffies: Define secs_to_jiffies()") introduced
secs_to_jiffies(). As the value here is a multiple of 1000, use
secs_to_jiffies() instead of msecs_to_jiffies to avoid the mult
On Wed, Dec 11, 2024 at 1:53 AM Stefano Garzarella wrote:
>
> On Wed, Dec 11, 2024 at 12:41:42AM +0800, Cindy Lu wrote:
> >Add back the previously removed cgroup function to support the kthread
>
> nit: missing . at the end
>
will fix this
> >The biggest change for this part is in vhost_attach_cgr
On Tue 2024-12-17 23:09:59, Easwar Hariharan wrote:
> Commit b35108a51cf7 ("jiffies: Define secs_to_jiffies()") introduced
> secs_to_jiffies(). As the value here is a multiple of 1000, use
> secs_to_jiffies() instead of msecs_to_jiffies to avoid the multiplication.
>
> This is converted using scri
On Wed, Dec 11, 2024 at 1:52 AM Stefano Garzarella wrote:
>
> On Wed, Dec 11, 2024 at 12:41:41AM +0800, Cindy Lu wrote:
> >Add the previously removed function vhost_worker() back
> >to support the kthread and rename it to vhost_run_work_kthread_list.
> >
> >The old function vhost_worker was change
On Wed, Dec 11, 2024 at 1:52 AM Stefano Garzarella wrote:
>
> On Wed, Dec 11, 2024 at 12:41:40AM +0800, Cindy Lu wrote:
> >The vhost now uses vhost_task and workers as a child of the owner thread.
> >While this aligns with containerization principles,it confuses some legacy
>
> nit: missing space
On 17/12/24 21:33, Andrew Davis wrote:
On 12/4/24 5:11 AM, Beleswar Padhi wrote:
Use a device lifecycle managed ioremap helper function. This helps
prevent mistakes like unmapping out of order in cleanup functions and
forgetting to unmap on all error paths.
Signed-off-by: Beleswar Padhi
---
Hi Andrew,
On 17/12/24 21:30, Andrew Davis wrote:
On 12/4/24 5:11 AM, Beleswar Padhi wrote:
Use a device lifecycle managed action to release tsp ti_sci_proc handle.
This helps prevent mistakes like releasing out of order in cleanup
functions and forgetting to release on error paths.
Signed-off
> Once device_add(&dev->dev) failed, call put_device() to explicitly
> release dev->dev. Or it could cause double free problem.
https://elixir.bootlin.com/linux/v6.13-rc3/source/drivers/base/core.c#L3521
…
> Found by code review.
https://elixir.bootlin.com/linux/v6.13-rc3/source/drivers/virtio/
80 matches
Mail list logo