Messages in this thread | | | Date | Fri, 12 Aug 2022 22:41:35 +0300 | Subject | Re: [PATCH] tty: n_gsm: fix missing assignment of gsm->receive() in gsmld_attach_gsm() | From | "Mazin Al Haddad" <> |
| |
On Wed Aug 10, 2022 at 12:08 PM +03, Starke, Daniel wrote: > > Fix this by setting the gsm->receive() function when the line > > discipline is being attached to the terminal device, inside > > gsmld_attach_gsm(). This will guarantee that the function is assigned > > and a call to TIOCSTI, which calls gsmld_receive_buf(), will not > > reference a null pointer. > > In my opinion there are only two possible ways to fix this: > a) Move the gsm->receive initialization from gsm_activate_mux() to > gsmld_attach_gsm(). > b) Avoid calling gsm->receive in gsmld_receive_buf() if not initialized. > > The current code might assume that gsm->receive is only called after MUX > activation. Therefore, variant a) may break the code in other places. > I see no need to initialize gsm->receive in gsm_activate_mux() and > gsmld_attach_gsm().
Thanks for the feedback! I will send a v2 patch that implements a check shortly.
| |