All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chen Gang <gang.chen@asianux.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Suggestion] drivers/tty: drivers/char/:  for MAX_ASYNC_BUFFER_SIZE
Date: Fri, 30 Nov 2012 10:27:25 +0800	[thread overview]
Message-ID: <50B8198D.5@asianux.com> (raw)
In-Reply-To: <20121129134136.36cbf936@pyramind.ukuu.org.uk>

于 2012年11月29日 21:41, Alan Cox 写道:
> On Thu, 29 Nov 2012 13:07:28 +0800
> Chen Gang <gang.chen@asianux.com> wrote:
> 
>> Hello Greg Kroah-Hartman:
>>
>> for MAX_ASYNC_BUFFER_SIZE:
>>   it is defined as 4096;
>>   but for the max buffer size which it processes, is 65535.
>>   so suggest to #define MAX_ASYNC_BUFFER_SIZE 0x10000  (better than 0xffff)
> 
> I don't see the need to change this. Possibly some of the old synclink
> drivers need to check more carefully for overflows if configured for very
> large frame sizes ?
> 

I am just through code review (so it is only a suggestion), I will try to perform test.
also welcome another members to help testing.

this issue has effect with 4 synclink drivers (most of source code are the same).
  drivers/char/pcmcia/synclink_cs.c:213:	char flag_buf[MAX_ASYNC_BUFFER_SIZE];
  drivers/tty/synclink_gt.c:320:	char flag_buf[MAX_ASYNC_BUFFER_SIZE];
  drivers/tty/synclink.c:294:	char flag_buf[MAX_ASYNC_BUFFER_SIZE];
  drivers/tty/synclinkmp.c:265:	char flag_buf[MAX_ASYNC_BUFFER_SIZE];

for the char_buf, has already useless (can be removed)
  drivers/tty/synclink_gt.c:321:	char char_buf[MAX_ASYNC_BUFFER_SIZE];
  drivers/tty/synclink.c:295:	char char_buf[MAX_ASYNC_BUFFER_SIZE];	
  drivers/tty/synclinkmp.c:266:	char char_buf[MAX_ASYNC_BUFFER_SIZE];


>>
>> ---------------------------------------------------------------------------------
>> Step 3:
>>
>> one sample in drivers/tty/n_gsm.c  (same for another implementation)
>>
>>   receive_buf is a function ptr which may be gsmld_receive_buf at line 2819. 
>>   it does not check the length of count whether larger than MAX_ASYNC_BUFFER_SIZE.
>>   if count is larger than MAX_ASYNC_BUFFER_SIZE, will cause issue.
> 
> Why should it - MAX_ASYNC_BUFFER_SIZE is an internal detail of the
> synclink drivers. 
> 
> Alan
> 
> 

  no, not need.  (excuse me, my English is not quite well, maybe you misunderstand what I said)

  at least, currently:
    the caller should be sure that the buffer length is enough (it seems not, I need test it).
    the internal has no duty to check it.


-- 
Chen Gang

Asianux Corporation

  reply	other threads:[~2012-11-30  2:26 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <50B6E751.9000000@asianux.com>
2012-11-29  5:07 ` [Suggestion] drivers/tty: drivers/char/: for MAX_ASYNC_BUFFER_SIZE Chen Gang
2012-11-29 13:41   ` Alan Cox
2012-11-30  2:27     ` Chen Gang [this message]
2012-11-30  3:39       ` Chen Gang
2012-11-29  5:13 ` 【Suggestion】drivers/tty: " Greg KH
2012-11-29  5:57   ` [Suggestion] drivers/tty: " Chen Gang
2012-11-29  6:14     ` [PATCH] MAINTAINERS: TTY - Add linux-serial mailing list Joe Perches
2012-11-29  6:27       ` Chen Gang
2012-11-29  6:27         ` Chen Gang
2012-11-29  8:23       ` Jiri Slaby
2012-11-29 18:32     ` [Suggestion] drivers/tty: drivers/char/: for MAX_ASYNC_BUFFER_SIZE Greg KH
2012-11-30  2:52       ` Chen Gang
2012-11-30  2:52         ` Chen Gang
     [not found]         ` <C7D3911F-7B6B-4353-A84B-0218FAB27198@microgate.com>
2012-11-30  6:28           ` Chen Gang
2012-11-30  7:14           ` Chen Gang
2012-11-30 16:24         ` Paul Fulghum
2012-11-30 19:46           ` [PATCH] synclink fix ldisc buffer argument Paul Fulghum
2012-12-02 15:13             ` Alan Cox
     [not found]               ` <F6B8A325-7DBF-4623-B16C-CDC5642EFD16@microgate.com>
2012-12-02 18:10                 ` Alan Cox
2012-12-02 18:10                   ` Alan Cox
     [not found]                   ` <989CB961-79F8-479B-B16C-41358A60AC94@microgate.com>
2012-12-03  2:20                     ` Chen Gang
2012-12-03 16:03                       ` Paul Fulghum
2012-12-05  1:57                         ` Chen Gang
2012-12-05  1:57                           ` Chen Gang
2012-12-19  2:23                           ` Chen Gang
2012-12-19  2:23                             ` Chen Gang
2012-12-19  4:09                             ` Greg KH
2012-12-19  4:10                               ` Chen Gang
2012-12-19  4:10                                 ` Chen Gang
2012-12-20  4:16                               ` [PATCH] drivers/tty/synclink: let receive buffer size match max frame size Chen Gang
2012-12-03 17:13             ` [PATCH] synclink fix ldisc buffer argument Paul Fulghum
2012-12-05  1:35               ` Chen Gang
2012-12-05  1:35                 ` Chen Gang
2012-12-07  2:15               ` Chen Gang
2012-12-07  2:15                 ` Chen Gang
2012-12-10  1:32                 ` [Consult]: " Chen Gang
2012-12-10  1:32                   ` Chen Gang
2012-12-01  9:01           ` [Suggestion] drivers/tty: drivers/char/: for MAX_ASYNC_BUFFER_SIZE Chen Gang
2012-12-01  9:01             ` Chen Gang

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=50B8198D.5@asianux.com \
    --to=gang.chen@asianux.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.