On 10.07.2018 14:45, bacor@xxxxxxxx wrote: > I think it is up to date, I am using a 3.10 kernel and the j1939-v3.10 > branch I never worked on j1939-v3.10 and there are no plans to do so. Like i said, you are using old not maintained code. There is no sense to test or fix it. > Le 10/07/2018 à 14:39, Oleksij Rempel a écrit : >> On 10.07.2018 14:02, bacor@xxxxxxxx wrote: >>> I ran into the exact same problem described in this thread: >>> https://marc.info/?l=linux-can&m=144803311311632&w=4. I am using the >>> exact same kernel, j1939 stack and target. >>> >>> Unlike what it was done in this thread, I did not remove the >>> put_session() function called in j1939tp_rxtask since it introduce a >>> memory leak. >>> >>> I managed to get it work by applying the following patch but I'm not >>> sure if what this change entails ? >>> >>> diff --git a/net/can/sj1939/transport.c b/net/can/sj1939/transport.c >>> index 26eccc0..d336083 100644 >>> --- a/net/can/sj1939/transport.c >>> +++ b/net/can/sj1939/transport.c >>> @@ -119,8 +119,8 @@ static inline void j1939session_destroy(struct >>> session *session) >>> kfree_skb(session->skb); >>> hrtimer_cancel(&session->rxtimer); >>> hrtimer_cancel(&session->txtimer); >>> - tasklet_disable(&session->rxtask); >>> - tasklet_disable(&session->txtask); >>> + tasklet_disable_nosync(&session->rxtask); >>> + tasklet_disable_nosync(&session->txtask); >>> kfree(session); >>> } >>> >> Your code example looks ancient. I would recommend to use latest version: >> https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git/log/?h=j1939 >> >> > >
Attachment:
signature.asc
Description: OpenPGP digital signature